#ifndef _EGOS_TYPES_H_
#define _EGOS_TYPES_H_

typedef unsigned int 	uint32;
typedef unsigned short	uint16;
typedef unsigned char	uint8;
typedef int 			int32;
typedef short			int16;
typedef char			int8;
typedef char			bool;

#define TRUE 			1
#define FALSE			0

#define INVALID_UINT8 	0xcc
#define INVALID_UINT16 	0xcccc
#define INVALID_UINT32 	0xcccccccc

// TASK handle and TASK id
typedef uint32 	EgosTaskHandle;
typedef uint32 	EgosTaskId;

// MUTEX handle
typedef uint32 	EgosMutexHandle;

// SEMAPHORE handle
typedef uint32 	EgosSemaphoreHandle;

// TIMER handle and Timer id
typedef uint32 	EgosTimerHandle;
typedef uint32 	EgosTimerId;


#define INVALID_EGOS_TASK_HANDLE		INVALID_UINT32
#define INVALID_EGOS_TASK_ID			INVALID_UINT32
#define INVALID_EGOS_MUTEX_HANDLE		INVALID_UINT32
#define INVALID_EGOS_SEMAPHORE_HANDLE	INVALID_UINT32
#define INVALID_EGOS_TIMER_ID			INVALID_UINT32
#define INVALID_EGOS_TIMER_HANDLE		INVALID_UINT32

#endif
